home *** CD-ROM | disk | FTP | other *** search
- {* midasdll.pas
- *
- * MIDAS DLL programming interface Delphi interface unit
- *
- * $Id: midasdll.h,v 1.1 1996/09/25 18:38:12 pekangas Exp $
- *
- * Copyright 1996,1997 Housemarque Inc
- *
- * This file is part of the MIDAS Sound System, and may only be
- * used, modified and distributed under the terms of the MIDAS
- * Sound System license, LICENSE.TXT. By continuing to use,
- * modify or distribute this file you indicate that you have
- * read the license and understand and accept it fully.
- *}
-
- unit midasdll;
-
-
- interface
-
-
- uses wintypes;
-
-
- const
- { enum MIDASoptions }
- MIDAS_OPTION_NONE = 0;
- MIDAS_OPTION_MIXRATE = 1;
- MIDAS_OPTION_OUTPUTMODE = 2;
- MIDAS_OPTION_MIXBUFLEN = 3;
- MIDAS_OPTION_MIXBUFBLOCKS = 4;
-
- { enum MIDASmodes }
- MIDAS_MODE_NONE = 0;
- MIDAS_MODE_MONO = 1;
- MIDAS_MODE_STEREO = 2;
- MIDAS_MODE_8BIT = 4;
- MIDAS_MODE_16BIT = 8;
- MIDAS_MODE_8BIT_MONO = MIDAS_MODE_8BIT or MIDAS_MODE_MONO;
- MIDAS_MODE_8BIT_STEREO = MIDAS_MODE_8BIT or MIDAS_MODE_STEREO;
- MIDAS_MODE_16BIT_MONO = MIDAS_MODE_16BIT or MIDAS_MODE_MONO;
- MIDAS_MODE_16BIT_STEREO = MIDAS_MODE_16BIT or MIDAS_MODE_STEREO;
-
- { enum MIDASsampleTypes }
- MIDAS_SAMPLE_NONE = 0;
- MIDAS_SAMPLE_8BIT_MONO = 1;
- MIDAS_SAMPLE_16BIT_MONO = 2;
- MIDAS_SAMPLE_8BIT_STEREO = 3;
- MIDAS_SAMPLE_16BIT_STEREO = 4;
-
- { enum MIDASloop }
- MIDAS_LOOP_NO = 0;
- MIDAS_LOOP_YES = 1;
-
- { enum MIDASpanning }
- MIDAS_PAN_LEFT = -64;
- MIDAS_PAN_MIDDLE = 0;
- MIDAS_PAN_RIGHT = 64;
- MIDAS_PAN_SURROUND = $80;
-
- { enum MIDASchannels }
- MIDAS_CHANNEL_AUTO = $FFFF;
-
-
- type
- MIDASmoduleInfo = record
- songName : array[0..31] of char;
- songLength : integer;
- numPatterns : integer;
- numInstruments : integer;
- numChannels : integer;
- end;
- PMIDASmoduleInfo = ^MIDASmoduleInfo;
-
- MIDASinstrumentInfo = record
- instName : array[0..31] of char;
- end;
- PMIDASinstrumentInfo = ^MIDASinstrumentInfo;
-
- MIDASplayStatus = record
- position : dword;
- pattern : dword;
- row : dword;
- syncInfo : integer;
- end;
- PMIDASplayStatus = ^MIDASplayStatus;
-
-
- MIDASmodule = pointer;
- MIDASsample = DWORD;
- MIDASsamplePlayHandle = DWORD;
- MIDASstreamHandle = pointer;
- Pbyte = ^byte;
-
-
-
- function MIDASgetLastError : integer; stdcall;
- function MIDASgetErrorMessage(errorCode : integer) : PChar; stdcall;
-
- function MIDASstartup : boolean; stdcall;
- function MIDASinit : boolean; stdcall;
- function MIDASsetOption(option, value : integer) : boolean; stdcall;
- function MIDASclose : boolean; stdcall;
- function MIDASopenChannels(numChannels : integer) : boolean; stdcall;
- function MIDAScloseChannels : boolean; stdcall;
- function MIDASstartBackgroundPlay(pollRate : dword) : boolean; stdcall;
- function MIDASstopBackgroundPlay : boolean; stdcall;
- function MIDASpoll : boolean; stdcall;
- function MIDASgetVersionString : PChar; stdcall;
-
- function MIDASloadModule(fileName : PChar) : MIDASmodule; stdcall;
- function MIDASplayModule(module : MIDASmodule; numEffectChannels : integer) :
- boolean; stdcall;
- function MIDASstopModule(module : MIDASmodule) : boolean ; stdcall;
- function MIDASfreeModule(module : MIDASmodule) : boolean; stdcall;
-
- function MIDASgetPlayStatus(status : PMIDASplayStatus) : boolean; stdcall;
- function MIDASsetPosition(newPosition : integer) : boolean; stdcall;
- function MIDASsetMusicVolume(volume : dword) : boolean; stdcall;
- function MIDASgetModuleInfo(module : MIDASmodule; info : PMIDASmoduleInfo) :
- boolean; stdcall;
- function MIDASgetInstrumentInfo(module : MIDASmodule; instNum : integer;
- info : PMIDASinstrumentInfo) : boolean; stdcall;
-
- function MIDASloadRawSample(fileName : PChar; sampleType,
- loopSample : integer) : MIDASsample; stdcall;
- function MIDASfreeSample(sample : MIDASsample) : boolean; stdcall;
- function MIDASsetAutoEffectChannels(firstChannel, numChannels : dword) :
- boolean; stdcall;
- function MIDASplaySample(sample : MIDASsample; channel : dword;
- priority : integer; rate, volume : dword; panning : integer) :
- MIDASsamplePlayHandle;
- stdcall;
- function MIDASstopSample(sample : MIDASsamplePlayHandle) : boolean; stdcall;
- function MIDASsetSampleRate(sample : MIDASsamplePlayHandle; rate : dword) :
- boolean; stdcall;
- function MIDASsetSampleVolume(sample : MIDASsamplePlayHandle; volume : dword)
- : boolean; stdcall;
- function MIDASsetSamplePanning(sample : MIDASsamplePlayHandle;
- panning : integer) : boolean; stdcall;
- function MIDASsetSamplePriority(sample : MIDASsamplePlayHandle;
- priority : integer) : boolean; stdcall;
-
- function MIDASplayStreamFile(channel : dword; fileName : PChar;
- sampleType : dword; sampleRate : dword; bufferLength : dword;
- loopStream : integer) : MIDASstreamHandle; stdcall;
- function MIDASstopStream(stream : MIDASstreamHandle) : boolean; stdcall;
-
- function MIDASplayStreamPolling(channel : dword; sampleType : dword;
- sampleRate : dword; bufferLength : dword) : MIDASstreamHandle; stdcall;
- function MIDASfeedStreamData(stream : MIDASstreamHandle; data : Pbyte;
- numBytes : dword; feedAll : boolean) : dword; stdcall;
-
- function MIDASsetStreamRate(stream : MIDASstreamHandle; rate : dword)
- : boolean; stdcall;
- function MIDASsetStreamVolume(stream : MIDASstreamHandle; volume : dword)
- : boolean; stdcall;
- function MIDASsetStreamPanning(stream : MIDASstreamHandle; panning : integer)
- : boolean; stdcall;
-
-
- implementation
-
-
-
- function MIDASgetLastError : integer;
- stdcall; external 'mds06rc1.dll' name '_MIDASgetLastError@0';
- function MIDASgetErrorMessage(errorCode : integer) : PChar;
- stdcall; external 'mds06rc1.dll' name '_MIDASgetErrorMessage@4';
-
- function MIDASstartup : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASstartup@0';
- function MIDASinit : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASinit@0';
- function MIDASsetOption(option, value : integer) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetOption@8';
- function MIDASclose : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASclose@0';
- function MIDASopenChannels(numChannels : integer) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASopenChannels@4';
- function MIDAScloseChannels : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDAScloseChannels@4';
- function MIDASstartBackgroundPlay(pollRate : dword) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASstartBackgroundPlay@4';
- function MIDASstopBackgroundPlay : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASstopBackgroundPlay@0';
- function MIDASpoll : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASpoll@0';
- function MIDASgetVersionString : PChar;
- stdcall; external 'mds06rc1.dll' name '_MIDASgetVersionString@0';
-
- function MIDASloadModule(fileName : PChar) : MIDASmodule;
- stdcall; external 'mds06rc1.dll' name '_MIDASloadModule@4';
- function MIDASplayModule(module : MIDASmodule; numEffectChannels : integer) :
- boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASplayModule@8';
- function MIDASstopModule(module : MIDASmodule) : boolean ;
- stdcall; external 'mds06rc1.dll' name '_MIDASstopModule@4';
- function MIDASfreeModule(module : MIDASmodule) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASfreeModule@4';
-
- function MIDASgetPlayStatus(status : PMIDASplayStatus) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASgetPlayStatus@4';
- function MIDASsetPosition(newPosition : integer) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetPosition@4';
- function MIDASsetMusicVolume(volume : dword) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetMusicVolume@4';
- function MIDASgetModuleInfo(module : MIDASmodule; info : PMIDASmoduleInfo) :
- boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASgetModuleInfo@8';
- function MIDASgetInstrumentInfo(module : MIDASmodule; instNum : integer;
- info : PMIDASinstrumentInfo) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASgetInstrumentInfo@12';
-
- function MIDASloadRawSample(fileName : PChar; sampleType,
- loopSample : integer) : MIDASsample;
- stdcall; external 'mds06rc1.dll' name '_MIDASloadRawSample@12';
- function MIDASfreeSample(sample : MIDASsample) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASfreeSample@4';
- function MIDASsetAutoEffectChannels(firstChannel, numChannels : dword) :
- boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetAutoEffectChannels@8';
- function MIDASplaySample(sample : midasSample; channel : dword;
- priority : integer; rate, volume : dword; panning : integer) :
- MIDASsamplePlayHandle;
- stdcall; external 'mds06rc1.dll' name '_MIDASplaySample@24';
- function MIDASstopSample(sample : MIDASsamplePlayHandle) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASstopSample@4';
- function MIDASsetSampleRate(sample : MIDASsamplePlayHandle; rate : dword) :
- boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetSampleRate@8';
- function MIDASsetSampleVolume(sample : MIDASsamplePlayHandle; volume : dword)
- : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetSampleVolume@8';
- function MIDASsetSamplePanning(sample : MIDASsamplePlayHandle;
- panning : integer) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetSamplePanning@8';
- function MIDASsetSamplePriority(sample : MIDASsamplePlayHandle;
- priority : integer) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetSamplePlayHandle@8';
-
- function MIDASplayStreamFile(channel : dword; fileName : PChar;
- sampleType : dword; sampleRate : dword; bufferLength : dword;
- loopStream : integer) : MIDASstreamHandle;
- stdcall; external 'mds06rc1.dll' name '_MIDASplayStreamFile@24';
- function MIDASstopStream(stream : MIDASstreamHandle) : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASstopStream@4';
-
- function MIDASplayStreamPolling(channel : dword; sampleType : dword;
- sampleRate : dword; bufferLength : dword) : MIDASstreamHandle;
- stdcall; external 'mds06rc1.dll' name '_MIDASplayStreamPolling@16';
- function MIDASfeedStreamData(stream : MIDASstreamHandle; data : Pbyte;
- numBytes : dword; feedAll : boolean) : dword;
- stdcall; external 'mds06rc1.dll' name '_MIDASfeedStreamData@16';
-
- function MIDASsetStreamRate(stream : MIDASstreamHandle; rate : dword)
- : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetStreamRate@4';
- function MIDASsetStreamVolume(stream : MIDASstreamHandle; volume : dword)
- : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetStreamVolume@4';
- function MIDASsetStreamPanning(stream : MIDASstreamHandle; panning : integer)
- : boolean;
- stdcall; external 'mds06rc1.dll' name '_MIDASsetStreamPanning@4';
-
- BEGIN
- END.